import json

def generate_simple_plan(event_type: str, event_subtype: str):
    """生成简单的应急预案，不依赖LLM"""
    
    # 基于事件类型和子类型生成简单的预案
    plan_template = {
        "安全事件监测": f"针对{event_type}中的{event_subtype}，建立实时监测系统，包括网络流量监控、异常行为检测、日志分析等。设置告警阈值，及时发现潜在威胁。",
        "安全事件分析、定级、上报": f"建立{event_type}分析流程，根据影响范围、损失程度进行定级。按照应急预案要求及时上报相关部门，启动应急响应机制。",
        "应急响应处置": f"针对{event_subtype}制定详细的处置步骤，包括隔离受影响系统、收集证据、修复漏洞、恢复服务等。确保处置过程有序进行。",
        "安全事件取证和溯源": f"建立{event_type}取证流程，保护现场证据，使用专业工具进行数据恢复和分析。通过技术手段追踪攻击源头，确定攻击路径。",
        "安全事件总结、结束响应": f"完成{event_subtype}处置后，编写详细的总结报告，分析事件原因、处置效果和改进措施。评估损失，制定预防措施，正式结束应急响应。"
    }
    
    # 根据事件类型调整内容
    if "网络" in event_type:
        plan_template["安全事件监测"] = f"针对{event_type}中的{event_subtype}，部署网络入侵检测系统(IDS)、防火墙、流量分析工具等。监控网络异常流量、可疑连接和恶意软件活动。"
        plan_template["应急响应处置"] = f"立即隔离受影响的网络设备，关闭可疑端口，更新防火墙规则。使用杀毒软件扫描系统，清除恶意代码。"
    
    elif "数据" in event_type:
        plan_template["安全事件监测"] = f"针对{event_type}中的{event_subtype}，部署数据泄露防护(DLP)系统，监控敏感数据的访问、传输和使用。设置数据访问审计和异常检测。"
        plan_template["应急响应处置"] = f"立即停止数据传输，锁定相关账户，备份重要数据。评估数据泄露范围，通知相关用户，启动数据恢复程序。"
    
    # 转换为列表格式
    plan_list = []
    for field_name, content in plan_template.items():
        plan_list.append({
            "field_name": field_name,
            "content": content
        })
    
    return plan_list

def optimize_simple_field(field_name: str, optimize_suggest: str, history: list = None):
    """优化特定字段，不依赖LLM"""
    
    # 基于优化建议生成改进内容
    base_content = f"基于优化建议'{optimize_suggest}'，对{field_name}进行以下改进："
    
    if "监测" in field_name:
        optimized_content = base_content + "增加更多监测指标，细化告警规则，建立多层次监测体系，提高检测准确率和及时性。"
    elif "分析" in field_name:
        optimized_content = base_content + "完善分析流程，建立标准化评估体系，增加自动化分析工具，提高分析效率和准确性。"
    elif "处置" in field_name:
        optimized_content = base_content + "优化处置流程，增加应急处置工具，建立快速响应机制，提高处置效率和效果。"
    elif "取证" in field_name:
        optimized_content = base_content + "加强取证技术，使用专业取证工具，建立证据保全流程，确保取证过程合法有效。"
    elif "总结" in field_name:
        optimized_content = base_content + "完善总结机制，建立经验教训库，制定改进计划，持续优化应急预案。"
    else:
        optimized_content = base_content + "根据优化建议进行相应改进，提高预案的实用性和可操作性。"
    
    return optimized_content 